home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 276-300 / 299 / rxil / src / set_result.c < prev    next >
C/C++ Source or Header  |  1995-03-14  |  1KB  |  75 lines

  1. /* set_result.c */
  2.  
  3. /*        Copyright © 1989 by Donald T. Meyer, Stormgate Software
  4.  *        All Rights Reserved
  5.  */
  6.  
  7.  
  8.  
  9. #include "rxil.h"
  10.  
  11. #include <string.h>
  12.  
  13.  
  14.  
  15. /* NAME
  16.  *        RxilSetResult
  17.  *
  18.  * SYNOPSIS
  19.  *        RxilSetResult( rexxmsg, string );
  20.  *
  21.  *        struct RexxMsg *rexxmsg;
  22.  *        char *string;
  23.  *
  24.  * FUNCTION
  25.  *        This can be called to handle the details of placing a result
  26.  *        string into the rexx message packet as the result Argstring.
  27.  *        If the string pointer is NULL, a general failure code will
  28.  *        be set.
  29.  *        This will deal with inability to allocate the Argstring by
  30.  *        setting a failure code in the RexxMsg.
  31.  *
  32.  * INPUTS
  33.  *        rexxmsg = pointer to the RexxMsg that the reply is being set
  34.  *            into.
  35.  *        string = pointer to a null terminated text string which will
  36.  *            be converted to an Argstring and returned.
  37.  *
  38.  * RESULT
  39.  *
  40.  *
  41.  * SIDES
  42.  *
  43.  * HISTORY
  44.  *        01-Aug-89    Creation.
  45.  *
  46.  * BUGS
  47.  *
  48.  * SEE ALSO
  49.  *
  50.  */
  51.  
  52. void RxilSetResult( struct RexxMsg *rexxmsg, char *string )
  53. {
  54.     if( string )
  55.     {
  56.         rexxmsg->rm_Result1 = RC_OK;
  57.         rexxmsg->rm_Result2 =
  58.             (ULONG)CreateArgstring( string, strlen(string) );
  59.  
  60.         if( rexxmsg->rm_Result2 == NULL )
  61.         {
  62.             /* Unable to create the argstring */
  63.             rexxmsg->rm_Result1 = RC_ERROR;
  64.             rexxmsg->rm_Result2 = 0;
  65.         }
  66.     }
  67.     else
  68.     {
  69.         /* Result string is null, set general failure code */
  70.         rexxmsg->rm_Result1 = RXERR_FAILED;
  71.         rexxmsg->rm_Result2 = 0;
  72.     }
  73. }
  74.  
  75.